package com.teamcenter.rac.massupdate.utils;

import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.massupdate.model.ImpactedPart;
import com.teamcenter.rac.massupdate.model.MassUpdateChangeObjectValidationModel;
import com.teamcenter.rac.massupdate.model.UpdateJobModel;
import java.util.List;

public abstract interface IMassUpdateMarkupSupportOperation {
	public abstract List<Object> executeMarkup(TCComponentItemRevision paramTCComponentItemRevision);

	public abstract List<Object> executeSaveMarkup(UpdateJobModel paramUpdateJobModel, List<ImpactedPart> paramList,
			TCSession paramTCSession);

	public abstract boolean isAllowedECNType(TCComponentItemRevision paramTCComponentItemRevision);

	public abstract boolean isAllowedECRType(TCComponentItemRevision paramTCComponentItemRevision);

	public abstract List<Object> executeRemoveMarkupChange(TCComponentItemRevision paramTCComponentItemRevision,
			List<TCComponent> paramList, TCSession paramTCSession);

	public abstract void validateChangeObjects(
			MassUpdateChangeObjectValidationModel paramMassUpdateChangeObjectValidationModel, TCSession paramTCSession);
}
